const path = require('path');

function resolve(dir) {
    return path.join(__dirname, dir);
}

module.exports = {
    publicPath: "/ccdate-big-screen",
    devServer: {
        host: '0.0.0.0',
        public: '127.0.0.1:8888',
        https: false,
        disableHostCheck: true,
        port: 8888, // 端口
        // open: true, // 自动开启浏览器,
        proxy: {
            '/dev-api': {
                target: 'http://127.0.0.1:8888',
                changeOrigin: true,
                ws: false,
                pathRewrite: {
                    '^/dev-api': ''
                }
            },
        }
    },
    //关闭esLint
    lintOnSave: false,
    //生产环境不需要生产map文件
    productionSourceMap: false,
    chainWebpack: config => {
        //这里是对环境的配置，不同的环境对应不同的BASE_URL
        config.plugin("define").tap(args => {
            return args;
        });
        //设置别名
        config.resolve.alias
            .set("@", resolve("src"))
            .set("@api", resolve("src/api/api")) //接口地址
            .set("@assets", resolve("src/assets"));
        // scss-resources-loader配置
        const oneOfsMap = config.module.rule('scss').oneOfs.store;
        oneOfsMap.forEach(item => {
            item.use('sass-resources-loader')
                .loader('sass-resources-loader')
                .options({
                    // 全局变量资源路径
                    resources: './src/assets/scss/mixin.scss'
                    // 也可以选择全局变量路径数组, 如果你有多个文件需要成为全局,就可以采用这种方法
                    // resources: ['./path/to/vars.scss', './path/to/mixins.scss']
                    // 或者你可以将多个scss文件@import到一个main.scss用第一种方法，都是可以的
                })
                .end()
        })
    },
    configureWebpack: {
        plugins: []
    },
    css: {
        loaderOptions: {
            postcss: {
                plugins: [
                    require('postcss-pxtorem')({
                        rootValue: 32, // 换算的基数(设计图750的根字体为32)
                        selectorBlackList: [], // 忽略转换正则匹配项
                        propList: ['*'],  //要转换的匹配项
                    })
                ]
            }
        }
    }
}